// 创建分页组件需要的 按钮数组
// btnCount: 最多能看到几个按钮
// total: 总条数 99
// size: 每页几条 10
// page: 当前第几页
function f(total, size, page, btnCount = 5) {
  // 如果page是1，2 让3 处于中间
  // 如果page是99 100 让 98 处于中间
  // 其他都是page处于中间
  // show me your code
  const arr = [] // 能看到的页码集合
  // 当前有多少页
  const allSize = Math.ceil(total / size) // 10
  const minSize = Math.floor(btnCount / 2) // 2
  const maxSize = allSize - minSize // 8
  if (page <= minSize) {
    for (let i = 0; i < btnCount; i++) {
      arr[i] = i + 1
    }
  } else if (page > maxSize) {
    for (let i = allSize; i > allSize - btnCount; i--) {
      arr[allSize - i] = i
    }
    arr.reverse()
  } else {
    let start = page - minSize
    for (let i = 0; i < btnCount; i++) {
      arr[i] = start++
    }
  }
  return arr
}
console.log(f(100, 10, 5, 5))
// 在可能的情况下，让page处于正中间
// f(100, 10, 1, 5) // ==> [1, 2, 3, 4, 5]
// f(100, 10, 7, 5) // ==> [5, 6, 7, 8, 9]
// f(100, 10, 2, 5) // ==> [1, 2, 3, 4, 5]
// f(100, 10, 5, 5) // ==> [3, 4, 5, 6, 7]
